  //寻找一个有顺序的书组里的特定数字
  //寻找一个有顺序的书组里的特定数字
  //寻找一个有顺序的书组里的特定数字
  //二分查找 折中查找
  //二分查找 折中查找
  //二分查找 折中查找
#include <stdio.h>

int main()
{
   int arr[]={1,2,3,4,5,6,7,8,9};
   int k=7;//寻找数字七，如果找到了 输出下标
   int sz=sizeof(arr)/sizeof(arr[0]);//sz表示整形数组arr里的元素个数
   int left=0;//最左侧下标值
   int right=sz-1;//最右侧下标值
   int ret=0;
   while(left<=right)
   {int mid=left+(right-left)/2;//找到中间下标值
   ret=arr[mid];
   //不用(left+right)/2 防止溢出
   if(ret<k)
   {
    left=mid+1;
   }
   else if(ret>k)
   {
    right=mid-1;
   }
   else
   {printf("找到了，这个数字的下标值是:%d\n",mid);
   break;
   }
   }
   if(left>right)
   printf("找不到\n");
   return 0;
}